package com.probox.common.entity.vo.WeCom;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.probox.common.core.enums.SourcePlatformEnum;
import com.probox.common.core.enums.SubscribeStatusEnum;
import com.probox.common.core.text.Convert;
import com.probox.common.entity.domain.customer.CustomerLabelInfo;
import com.probox.common.entity.utils.DictUtils;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * 服务列表vo
 */
@Data
public class WeComAppointmentVo implements Serializable {
    /**
     * 客户id
     */
    private Long customerId;
    /**
     * 头像
     */
    private String headImage;
    /**
     * 预约id
     */
    private Long subscribeId;

    /**
     * 预约日期
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date subscribeDate;

    /***
     * 美容师
     */
    private String nickName;


    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 客户等级名称
     */
    private String levelName;
    private Integer customerGrade;
    private String customerIcon;
    private String levelColor;

    /**
     * 备注
     */
    private String customerMsg;

    private String serviceDetail;

    /**
     * 服务开始时间
     */
    @JsonFormat(pattern = "HH:mm")
    private Date startDate;

    /**
     * 服务结束时间
     */
    @JsonFormat(pattern = "HH:mm")
    private Date endDate;
    /**
     * 服务状态
     */
    private String serviceStatus;

    public String getServiceStatusStr() {
        return SubscribeStatusEnum.getNameByKey(serviceStatus);
    }

    /**
     * 美容师头像
     */
    private String avatar;

    /**
     * 美容师名称
     */
    private String cosmetician;
    /**
     * 客户手机号
     */
    private String mobile;
    /**
     * 预约信息
     */
    private String tip;
    /**
     * 服务项目集合
     */
    private List<WeComAppointmentItemVo> listVo;

    private String customerRequirement;

    private String skinProblems;

    private String projectBedding;

    private String customerImages;
    /**
     * 来源
     */
    private String sourcePlatform;

    public String getSourcePlatformStr() {
        HashMap dictCacheMap = DictUtils.getDictCacheMap("source_platform");
        return Convert.toStr(dictCacheMap.get(sourcePlatform), sourcePlatform);
    }

    /**
     * 客户标签
     */
    private List<CustomerLabelInfo> labelInfoList;


    private String serviceType;

    private String consultantSummary;

    private String matchingSummary;

    private String cleansingSummary;

    private Long technicianId;

    private String remark;


}
